Crate monoio[−][src]
Expand description
Monoio is a pure io-uring based rust runtime. Part of the design is borrowed from tokio and tokio-uring. However, unlike tokio-uring which use uring over epoll, monoio is not based on another runtime, which makes it more efficient. Also, monoio is designed as thread-per-core model. Users don’t need to worry about Send and Sync of tasks and can use thread local storage. For example, if user wants to do collect and submit tasks, he can use thread local storage to avoid synchronization structures like Mutex; also, the submit task will always be executed on the same thread.
Modules
Utilities for working with buffers.
Filesystem manipulation operations.
IO traits
Useful macros.
Network related
Stream related. Why not futures stream? Because the GAT >_<
Task impl
Utilities for tracking time.
Common utils
Macros
Wait on multiple concurrent branches, returning when all branches complete.
Pins a value on the stack.
Wait on multiple concurrent branches, returning when the first branch completes, cancelling the remaining branches.
Wait on multiple concurrent branches, returning when all branches
complete with Ok(_)
or on the first Err(_)
.
Structs
Monoio runtime
Runtime builder
Functions
Spawns a new asynchronous task, returning a JoinHandle
for it.
Start a monoio runtime.
Type Definitions
A specialized Result
type for io-uring
operations with buffers.